/*
 * Università degli Studi di Trento
 * Facoltà di Scienze MM.FF.NN.
 * Corso di Laurea Triennale in Informatica
 * A.A. 2010/2011
 * Progetto per il corso di Sistemi Operativi 1
 * Progetto 4: simulazione di una rotonda
 * Autori:
 *  Abram Lorenzo - 140368
 *  Dal Lago Loris - 139428
 *  Florio Alessandro - 140245
 */

/********************************************************************************
  DESCRIPTION OF THE FILE HERE
********************************************************************************/

#ifndef PRIORITY_QUEUE_H
#define PRIORITY_QUEUE_H

#include "common.h"
#include "car.h"

typedef struct SPQueue * ptrPQueue; 

ptrPQueue PQueue_create();

bool PQueue_isEmpty(ptrPQueue);

void PQueue_enqueue(ptrCar, ptrPQueue);
ptrCar PQueue_dequeue(ptrPQueue);

ptrCar PQueue_top(ptrPQueue);

void PQueue_destroy(ptrPQueue);

#ifdef DEBUG
void PQueue_printf (ptrPQueue);
#endif /* DEBUG */

#endif /*PRIORITY_QUEUE_H*/
